﻿Public Class ctrRamoAtividade
    Inherits ctrPadrao

#Region "Declaração de variáveis"
    Private objRamoAtividade As New Persistencia.perRamoAtividade
    Private iIdRamoAtividade As Int32
#End Region

#Region "Propriedades"

    Public Property IDRamoAtividade() As Int32
        Get
            Return Me.iIdRamoAtividade
        End Get
        Set(ByVal value As Int32)
            Me.iIdRamoAtividade = value
        End Set
    End Property

    Public ReadOnly Property sqlConsulta() As String
        Get
            Return Me.objRamoAtividade.sqlConsulta()
        End Get
    End Property

#End Region

#Region "Métodos públicos"

    Public Function salvar(ByVal iIdRamoAtividade As Int32, _
                           ByVal sDescricao As String) As Boolean

        Dim bResultado As Boolean = False

        If iIdRamoAtividade > 0 Then
            Me.alterarRamoAtividade(iIdRamoAtividade, _
                             sDescricao)
            Me.IDRamoAtividade = iIdRamoAtividade
            bResultado = True
        Else
            Me.IDRamoAtividade = Me.inserirRamoAtividade(sDescricao)

            bResultado = True
        End If

        Return bResultado

    End Function

    Public Function excluir(ByVal iIdRamoAtividade As Int32) As Boolean
        Dim bResultado As Boolean = True

        If bResultado Then
            Me.excluirRamoAtividade(iIdRamoAtividade)
        End If

        Return bResultado

    End Function

    Private Sub excluirRamoAtividade(ByVal iIdRamoAtividade As Int32)

        Try
            Me.objRamoAtividade.excluirRamoAtividade(iIdRamoAtividade)
        Catch ex As Exception
            Throw New Exception("Exceção no método 'excluirRamoAtividade'. " & Environment.NewLine & Environment.NewLine & ex.Message)
        End Try

    End Sub

    Public Function selecionarRamoAtividade(ByVal iIdRamoAtividade As Int32) As DataRow

        Try
            Return Me.objRamoAtividade.selecionarRamoAtividade(iIdRamoAtividade)
        Catch ex As Exception
            Throw New Exception("Exceção no método 'selecionarRamoAtividade'. " & Environment.NewLine & Environment.NewLine & ex.Message)
        End Try

    End Function

    Public Function retornarCampoRamoAtividade(ByVal sCampo As String, ByVal iIDRamoAtividade As Int32) As DataRow

        Try
            Dim dtDados As New DataTable
            Dim drRetorno As DataRow

            dtDados = Me.objRamoAtividade.selecionarCampoRamoAtividade(sCampo, iIDRamoAtividade)

            If Not dtDados Is Nothing Then
                drRetorno = dtDados.Rows(0)
            Else
                drRetorno = Nothing
            End If

            Return drRetorno

        Catch ex As Exception
            Throw New Exception("Exceção no método 'retornarCampoRamoAtividade'. " & Environment.NewLine & Environment.NewLine & ex.Message)
        End Try

    End Function

#End Region

#Region "Métodos privados"

    Private Sub alterarRamoAtividade(ByVal iIdRamoAtividade As Int32, _
                                     ByVal sDescricao As String)
        Try
            Me.objRamoAtividade.alterarRamoAtividade(iIdRamoAtividade, _
                                                     sDescricao)
        Catch ex As Exception
            Throw New Exception("Exceção no método 'alterarRamoAtividade'. " & Environment.NewLine & Environment.NewLine & ex.Message)
        End Try

    End Sub

    Private Function inserirRamoAtividade(ByVal sDescricao As String)
        Dim iIdRamoAtividade As Int32

        Try
            iIdRamoAtividade = Me.objRamoAtividade.inserirRamoAtividade(sDescricao)
            Return iIdRamoAtividade
        Catch ex As Exception
            Throw New Exception("Exceção no método 'inserirRamoAtividade'. " & Environment.NewLine & Environment.NewLine & ex.Message)
        End Try

    End Function

#End Region
End Class
